package com.njwd.rpc.api;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;

import com.alibaba.dubbo.rpc.protocol.rest.support.ContentType;
import com.njwd.common.rpc.ResponseVo;
import com.njwd.rpc.vo.User;

@Path("users")
public interface UserService {

	/**
	 * 这里演示了单个参数请求 
	 * @param id
	 * @return
	 */
	@GET
	@Path("queryUserByClassId/{id : \\d+}")
	@Produces({ContentType.APPLICATION_JSON_UTF_8})
	ResponseVo<List<User>> queryUserByClassId( @PathParam("id")String id);
	
	
	/**
	 * 这里演示了多个参数请求事例
	 * @param id
	 * @param classId
	 * @return
	 */
	@GET
	@Path("queryUserMultiParam")
	@Produces({ContentType.APPLICATION_JSON_UTF_8})
	ResponseVo<List<User>> queryUserMultiParam( @QueryParam("id") String id,@QueryParam("classId") long classId);
	
	/**
	 * 这个演示action的动作，建议非查询类使用POST
	 * @param user
	 * @return
	 */
	@POST
	@Path("registerUser")
	@Produces({ContentType.APPLICATION_JSON_UTF_8})
	@Consumes({ContentType.APPLICATION_JSON_UTF_8})
	ResponseVo<Boolean> registerUser(User user) ;
	
	

	
	
}
